home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Development / libogg / libvorbis-1.0rc3 / lib / iir.h < prev    next >
Encoding:
C/C++ Source or Header  |  2002-10-27  |  1.4 KB  |  37 lines

  1. /********************************************************************
  2.  *                                                                  *
  3.  * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
  4.  * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
  5.  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
  6.  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
  7.  *                                                                  *
  8.  * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001             *
  9.  * by the XIPHOPHORUS Company http://www.xiph.org/                  *
  10.  *                                                                  *
  11.  ********************************************************************
  12.  
  13.   function: Direct Form I, II IIR filters, plus some specializations
  14.   last mod: $Id: iir.h,v 1.8 2001/12/20 01:00:27 segher Exp $
  15.  
  16.  ********************************************************************/
  17.  
  18. #ifndef _V_IIR_H_
  19. #define _V_IIR_H_
  20.  
  21. typedef struct {
  22.   int stages;
  23.   float *coeff_A;
  24.   float *coeff_B;
  25.   float *z_A;
  26.   int ring;
  27.   float gain;
  28. } IIR_state;
  29.  
  30. extern void IIR_init(IIR_state *s,int stages,float gain, float *A, float *B);
  31. extern void IIR_clear(IIR_state *s);
  32. extern float IIR_filter(IIR_state *s,float in);
  33. extern float IIR_filter_Band(IIR_state *s,float in);
  34. extern void IIR_reset(IIR_state *s);
  35.  
  36. #endif
  37.